stack: Warn when setting a visible child which is not in the stack
authorDavid King <dking@redhat.com>
Mon, 7 Oct 2013 12:46:16 +0000 (13:46 +0100)
committerDavid King <amigadave@amigadave.com>
Tue, 8 Oct 2013 09:55:29 +0000 (10:55 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=709613

gtk/gtkstack.c

index de1ead82f797f3860c0d9c4048a92c62506831c3..eb2afd5de1085b2b47513b9f3835a185f0e6ca83 100644 (file)
@@ -1341,7 +1341,11 @@ gtk_stack_set_visible_child (GtkStack  *stack,
 
   child_info = find_child_info_for_widget (stack, child);
   if (child_info == NULL)
-    return;
+    {
+      g_warning ("Given child of type '%s' not found in GtkStack",
+                 G_OBJECT_TYPE_NAME (child));
+      return;
+    }
 
   if (gtk_widget_get_visible (child_info->widget))
     set_visible_child (stack, child_info,
@@ -1406,7 +1410,13 @@ gtk_stack_set_visible_child_full (GtkStack               *stack,
         }
     }
 
-  if (child_info != NULL && gtk_widget_get_visible (child_info->widget))
+  if (child_info == NULL)
+    {
+      g_warning ("Child name '%s' not found in GtkStack", name);
+      return;
+    }
+
+  if (gtk_widget_get_visible (child_info->widget))
     set_visible_child (stack, child_info, transition, priv->transition_duration);
 }